/*
 * Copyright (c) 2018-2999 湖南洛云网络科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.delivery.comment.service;

import com.yami.shop.bean.app.dto.ProductItemDto;
import com.yami.shop.bean.app.dto.ShopCartItemDto;
import com.yami.shop.bean.model.UserAddr;

import java.util.List;

/**
 * @author Lanhai
 */
public interface TransportManagerService {

	/**
	 * 计算运费金额
	 *
	 * @param productItem 商品明细
	 * @param userAddr    用户地址
	 * @return 运费金额
	 */
	Double calculateTransfee(ProductItemDto productItem, UserAddr userAddr);

	/**
	 * 如果运费模板相同，则把运费模板相同的商品合成一个商品（合成：重量，体积，件数），然后在计算运费
	 *
	 * @param productItems 商品明细
	 * @param userAddr     用户地址
	 * @return 运费金额
	 */
	Double calculateTransfeeSecond(List<ShopCartItemDto> productItems, UserAddr userAddr);

}
